<?php

use app\common\ColumnFormat;
use think\migration\Migrator;
use think\migration\db\Column;

class CreateTableTopic extends Migrator
{
  /**
   * Change Method.
   *
   * Write your reversible migrations using this method.
   *
   * More information on writing migrations is available here:
   * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
   *
   * The following commands can be used in this method and Phinx will
   * automatically reverse them when rolling back:
   *
   *    createTable
   *    renameTable
   *    addColumn
   *    renameColumn
   *    addIndex
   *    addForeignKey
   *
   * Remember to call "create()" or "update()" and NOT "save()" when working
   * with the Table class.
   */
  public function change()
  {
    $table = $this->table('topic', ['comment' => '话题'])
      ->addColumn(ColumnFormat::timestamp('create_time'))
      ->addColumn(ColumnFormat::timestamp('update_time'))
      ->addColumn(ColumnFormat::timestamp('delete_time'))
      ->addColumn(ColumnFormat::stringNormal('title')->setComment('标题'))
      ->addColumn(ColumnFormat::stringUrl('title_img')->setComment('封面'))
      ->addColumn(ColumnFormat::stringLong('desc')->setDefault('描述'))
      ->addColumn(ColumnFormat::integerTypeStatus('status')->setComment('0:正常,1:下架'))
      ->addColumn(ColumnFormat::integer('sort')->setComment('排序,越大越靠前'))
      ->addColumn(ColumnFormat::stringShort('type')->setDefault('normal')->setComment('normal:正常,official:官方'))
      ->addColumn(ColumnFormat::integer('post_count'))
      ->addColumn(ColumnFormat::integer('hits_count'))
      ->create();
  }
}
